package cn.yunbamboos.db;

import cn.yunbamboos.db.metadata.TableMetadata;

import java.util.List;

public interface IDB {

    /**
     * 检查数据库目录
     * */
    void checkDBDir();

    /**
     * 检查数据库进程是否存在
     * */
    void checkPid();

    /**
     * 连接数据库
     */
    void connect();

    /**
     * 判断库是否存在
     */
    boolean existDB();

    /**
     * 创建库
     */
    void createDB();

    /**
     * 判断表是否存在
     */
    boolean existTable(TableMetadata tableMetadata);

    /**
     * 创建表
     */
    void createTable(TableMetadata tableMetadata);

    /**
     * 添加列
     */
    void addColumn();

    /**
     * 删除列
     */
    void deleteColumn();

    /**
     * 初始化数据SQL
     * */
    void initDataSQL(ReadInitDataSQL read);

    void closeDB();
}
